package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmailBean;
import com.project.bean.InBoxBean;
import com.project.bean.UserBean;

import java.time.LocalDate;

public interface IInboxService {
    /**
     * 分页动态查询收件箱邮件
     * @param pageNum 页码
     * @param userId 收件员工的id （只能查看自己的收件箱）
     * @param title 主题
     * @param startTim 起始日期
     * @param endTim 结束日期
     * @return  PageInfo<InBoxBean> 邮件分页对象 { 收件箱id，主题，发送日期，  阅读状态 }
     * 1. 动态分页查询收件箱记录，同时查询邮件的主题和发件日期
     * 2. 收件人员工id为固定条件
     * 3. 主题、起始日期、结束日期为 动态条件
     */
    PageInfo<InBoxBean> cutPageByItem(Integer pageNum, Integer userId, String title,
                                      LocalDate startTim, LocalDate endTim);

    /**
     * 查询收件箱信息
     * @param inboxId 收件箱id
     * @return EmailBean 邮件对象  邮箱信息 {id，主题、邮件内容、附件地址，发件人姓名}
     * 说明：根据收件箱id 查询邮件信息，同时查询发件人姓名，并且将收件箱的阅读状态修改为 “已阅读”
     */
    EmailBean findById(Integer inboxId);

    /**
     * 删除邮件
     * @param inboxId 收件箱id
     * 说明：根据收件箱id 删除收件箱记录
     */
    void del(Integer inboxId);

}
